﻿#ifndef __STDAFX_H__
#define __STDAFX_H__

#ifdef _MSC_VER
#pragma once
#endif

#if defined(_WIN32)
// 윈도우
#	define STRICT
#	define WIN32_LEAN_AND_MEAN
#	include <sdkddkver.h>
#	include <windows.h>
#	include <excpt.h>
#	include <mmsystem.h>
#	include <commctrl.h>
#	include <shellapi.h>
#	if _MSC_VER
#		include <intrin.h>
#		include <crtdbg.h>
#	endif
#endif

// GCC
#if __GNUC__
#	define _GNU_SOURCE		1		// GNU 라이브러리
#	include <unistd.h>
#endif

// SB
#include "sb.h"
#include "extend/sberror.h"

// API
#ifdef KAPI
#	undef KAPI
#endif

#ifdef _STATIC
#	define KAPI						extern 
#else
#	if defined(_WIN32)
#		define KAPI					__declspec(dllexport)
#	elif defined(__GNUC__)
#		define KAPI					__attribute__((__visibility__("default")))
#	else
#		define KAPI					extern
#	endif
#endif

// CONFIG
#include "qg_config.h"

// SDL, 만약 사용하면 여러군데서 사용하기에 엿따 넣음
#if _QG_USE_SDL
#	include <SDL/SDL.h>
#	include <SDL/SDL_syswm.h>
#endif

//
#if _MSC_VER
#pragma warning(disable:4100)		// 참조되지 않은 정식 매개 변수입니다.
#pragma warning(disable:4127)		// 조건식이 상수입니다.
#pragma warning(disable:4251)
#endif

#endif	// __STDAFX_H__
